package com.ywy.job.service;

import com.ywy.job.model.SysJob;
import com.ywy.job.rest.PageParam;
import com.ywy.job.rest.PageResult;

/**
 * 任务服务接口
 *
 * @author ywy
 * @date 2021/11/3 16:44
 */
public interface SysJobService {
    /**
     * 根据id查询任务
     * @param id
     * @return
     */
    SysJob getById(Long id);

    /**
     * 分页查询任务
     * @param param
     * @return
     */
    PageResult listPage(PageParam param);

    /**
     * 保存任务
     * @param job
     * @return
     */
    int save(SysJob job);

    /**
     * 初始化定时任务
     */
    boolean initSchedule();

    /**
     * 立即执行任务
     * @param id
     */
    int run(Long id);

    /**
     * 修改任务状态
     * @param id
     * @param jobStatus
     */
    boolean changeStatus(Long id, Integer jobStatus);

    /**
     * 删除任务
     * @param id
     * @return
     */
    int delete(Long id);

    /**
     * 批量删除任务
     * @param ids
     */
    int batchDelete(Long[] ids);
}
